使用ssh实现无密码启动hdfs
如果一个集群都使用密码来登录,可想而知是一件十分害怕的事情,所以就很有必要使用ssh来实现无密码登录了
本机的免密码启动hdfs
- 检查本机
.ssh文件中是否有authorized_keys文件,没有则创建并且修改权限,修改权限,修改权限123cd .sshtouch authorized_keyschmod 600 authorized_keys
- 产生密钥对,输入下面命令之后会提示三次,这三次什么提示都不要输入任何字符,
不要输入任何字符..不要输入任何字符1ssh-keygen -t rsa
使用ll命令可以在文件夹中至少看到下面的信息123-rw-------. 1 hadoop hadoop 602 Nov 19 03:08 authorized_keys-rw-------. 1 hadoop hadoop 1675 Nov 19 03:30 id_rsa-rw-r--r--. 1 hadoop hadoop 394 Nov 19 03:30 id_rsa.pub
其中,id_rsa为私钥,id_rsa.pub为公钥。接下来要做的一步就是把id_rsa.pub添加到authorized_keys文件中1cat id_rsa.pub >> authorized_keys
- 启动hdfs,测试是否正确
集群实现免密码登录
准备工作
- 保证每台节点中的用户名相同(例如都为
spark)。如果没有,则创建。不要直接使用 root 用户。请为集群单独创建用户。
将用户添加至 sudoer 列表
- 切换到 root 用户(
su -)。 使用
visudo命令,添加 spark 用户到 sudoer 列表。123# 在 root 用户之后添加(请根据实际情况赋予权限)root ALL=(ALL) ALLspark ALL=(ALL) ALL保存退出。
远程拷贝id_rsa.pub给所有主机
把刚刚生成的id_rsa.pub远程拷贝给所有主机,我们这里另外一台机器名spark01
1scp id_rsa.pub spark01:/home/hadoop/.ssh登录spark01,把id_rsa.pub添加进authorized_keys中
1cat id_rsa.pub >> authorized_keys